Field of the Invention
The present invention generally relates to a method and a system for forecasting. In particular, the present invention provides a method and system for forecasting using an OnLine Analytical Processing database.
Description of the Related Art
There is a class of conventional software products called OnLine Analytical Processing (OLAP) products. These OnLine Analytical Processing products are similar to relational databases, however, they are oftentimes customized for specific purposes and/or functions such as, for example, financial reporting.
Enterprises typically use data management and presentation software to make financial data viewable. The levels of an enterprise company may be divided geographically, with the lower levels representing regional offices, for example, and higher levels representing continental or multi-continent areas. In addition to geographic division, enterprises often present financial data, by product line or type. So, different dimensions, e.g., geographical and product line dimensions, may divide an enterprise into a cross-classified structure. Each dimension may have a hierarchical set of levels that may be represented by a tree structure. For example, a geographical dimension may be represented by a tree structure having a geographic dimension that is divided into levels. A high level may represent a continent, a next lower level may represent countries, a next lower level may represent regions within countries, and so on. A user in such an enterprise may need financial data to be presented in this dimensionally cross-classified structure with hierarchical levels in each dimension.
Further, different parts of an enterprise may also require other views of financial data, and OnLine Analytical Processing products have enabled a multi-dimensional data structure to be represented through different views. For example, the regional sales for a product type may be viewed by the regional representatives. If a country representative wishes to view all sales for that product type in the country, the software performs an “add” function (i.e., an aggregation) on the regional sales data and obtains a higher, country level view. Similarly, views from a single product type to a multi-product line can be viewed using the aggregation feature of OnLine Analytical Processing software.
An OnLine Analytical Processing product is advantageous for complex queries. These OnLine Analytical Processing products generally produce financial reports much faster than if a relational database was used.
The single most important mechanism in OnLine Analytical Processing, which allows it to achieve improved performance, is the use of an aggregation function. Aggregations are built from a fact table by changing the granularity on specific dimensions and aggregating upward along these dimensions. For example, given a sales database that records sales at the level of a particular product, the location of each sale, the location of the customer, and a customer business sector, and a request for the number of sales to all telecommunications companies, how many sales of a product in Ohio, how many sales in the United States, or the World, conventional OnLine Analytical Processing will quickly generate a report based upon an aggregation across each of these levels.
OnLine Analytical Processing is not necessarily limited to financial type data. OnLine Analytical Processing may generate different types of reports by aggregating across dimensions.
On Line Analytical Processing applications provide an approach to quickly provide the answer to analytical queries that are dimensional in nature. Typical applications of OnLine Analytical Processing are in business reporting for sales, marketing, management reporting, business process management, budgeting and forecasting, financial reporting, and similar areas.
Databases that are configured for OnLine Analytical Processing employ a multidimensional data model, allowing for complex analytical and ad-hoc queries with a rapid execution time.
At the core of any OnLine Analytical Processing system is a concept of an OnLine Analytical Processing cube (also called “multidimensional cube”). An OnLine Analytical Processing cube includes numerous facts called “measures” which are categorized by “dimensions.” The cube metadata is typically created from a star schema or snowflake schema of tables in a relational database. Measures are derived from the records in the fact table and dimensions are derived from the dimension tables.
OnLine Analytical Processing data cubes only store data at the lowest level. In other words, an OnLine Analytical Processing data cube which is represented as a tree structure only includes data at the leaves of the data tree. OnLine Analytical Processing data cubes cannot store data regarding a branch level of the tree. For example, once you calculate a revenue forecast at a higher level, the OnLine Analytical Processing data structure does not permit storing that data regarding that higher level. OnLine Analytical Processing applications are only capable of aggregating across different dimensions of leaf data.
What makes OnLine Analytical Processing so useful, powerful, and fast is that the data is arranged only at the lowest level and rules are defined at this level. OnLine Analytical Processing programs provide the ability to very easily do many different kinds of aggregations across an OnLine Analytical Processing cube structure.
These types of financial data management applications are convenient for a wide variety of factual data on enterprises such as sales and resource levels. Raw financial data such as sales and resources inherently have an additive aggregation structure, and can be viewed conveniently using OnLine Analytical Processing software tools. However, some computed financial metrics, such as revenue and sales forecasts, may not have this additive structure. For example, forecasts may be computed or issued separately for a higher-level organization and a lower-level one, cross-classified by another dimension. When manipulated, modified, or computed financial data are desired, these conventional financial data management applications present serious drawbacks. In particular, so as to facilitate the multiple levels and different views in a single framework, the aggregation is performed by adding the values in the lower categories to obtain the values for the higher categories above them
In the case of advanced methods in forecasting, it is no longer possible to aggregate lower-level forecasts to the higher-level forecasts through simple addition. Indeed, usually, advanced methods for forecasting make use of multiple levels of forecasts. Simple aggregation of the lower levels will not provide as accurate a forecast at a higher level as a procedure forecasting directly at the higher level.